/*
* 第一步先创建一个简单的服务，保证服务的正常运行
* 应用程序入口文件包必须是main， 入口函数必须是main 方法，main 方法一定在main 文件中
 */

package main

import (
	_ "go-react-microservice/docs"
	"go-react-microservice/routes"

	"github.com/gin-gonic/gin"
	ginSwagger "github.com/swaggo/gin-swagger"
	"github.com/swaggo/gin-swagger/swaggerFiles"
)

//@title 系统管理后台
//@version 0.1
//@description 系统管理后台接口

//@host localhost:8080
//@BasePath /sys
func main() {
	// gin 框架第一步是创建引擎，Default 和 New 两种方式
	// Default : 本质上使用了New 方法创建，但是添加了recover 和 logger 两个中间件
	// 返回引擎指针，指针除了传递时省内存还有保证函数内部对引擎属性修改等函数结束后可以保存
	engine := gin.Default()
	engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
	//初始化路由
	routes.InitRoutes(engine)
	// 引擎继承了RouterGroup 结构，因此可以拥有RouterGroup 中的方法
	engine.GET("/test", func(ctx *gin.Context) {
		ctx.String(200, "hello")
	})
	// 启动服务
	// 默认不传参数端口为8080
	engine.Run()
}
